home *** CD-ROM | disk | FTP | other *** search
/ Games of Daze / Infomagic - Games of Daze (Summer 1995) (Disc 1 of 2).iso / x2ftp / msdos / hardware / cpu115 / test486.pas < prev    next >
Pascal/Delphi Source File  |  1995-02-27  |  1KB  |  41 lines

  1. {$N-,E-,G+,S-,I-,V-,R-,X+}
  2. uses CPUType;
  3.  
  4. function get486Model : Word; far; external;
  5. {$L MODEL486 }
  6.  
  7. function HexW( W : Word ) : String;
  8.  const
  9.     D : array[0..15] of Char = '0123456789ABCDEF';
  10.  begin
  11.   HexW := D[Hi(W) shr 4] + D[Hi(W) and $0F] + D[Lo(W) shr 4] + D[Lo(W) and $0F];
  12.  end;
  13.  
  14. var Id : Word;
  15.     C  : Word;
  16.  
  17. begin
  18.  WriteLn('486 CPU Model Identifier  Version 1.00  Copyright(c) 1995 by B-coolWare.');
  19.  WriteLn;
  20.  C := CPU_Type;
  21.  if (C > i286) and ((Hi(C) and 1) = 0) then { CPU is 386 or better in real mode }
  22.   begin
  23.    Id := get486Model;
  24.    Write('CPU is ',Id shr 8,'86'); { use Family field to determine CPU type }
  25.    case (Id and $00F0) of       { check Model field for known models }
  26.     0,$10 : WriteLn('DX');
  27.     $20   : WriteLn('SX');
  28.     $30   : WriteLn('DX2/Overdrive');
  29.     $40   : WriteLn('SL');
  30.     $50   : WriteLn('SX2');
  31.     $70   : WriteLn('P24D (Pentium Overdrive)');
  32.     $80   : WriteLn('DX4');
  33.    else
  34.     WriteLn('??');           { unknown model code }
  35.    end;
  36.    WriteLn('Code returned: ',HexW(Id));
  37.   end
  38.  else
  39.   WriteLn('This program requires 386+ in Real mode...');
  40. end.
  41.